Zapnuti/vypnuti NumLock na pocitacich Compaq s Win 98
Otázka od: horky@cominn.cz
24. 5. 2004 13:36
Zdravim vsechny !
Pro zapnuti/vypnuti klavesy NumLock pouzivam nize uvedenou procedurku. Tato
bezvadne funguje na Win od 98 az po XP, zkouseno na stolnich pocitacich i na
notebooku.
Ovsem narazil jsem na starsi pocitace znacky Compaq s Win 98, kde prepinani
NumLocku touto procedurkou nefunguje. Neudela se chyba, ale ani se NumLock
nezapne. Nemate nekdo radu, zkusenost, nejakou uplne jinou proceduru, kterou by
slo programove ten NumLock zapnout ?
Pouzivame totiz programovatelne klavesnice, bezna neni k pocitaci vubec
pripojena a NumLock potrebujeme mit zapnuty.
Diky za kazdou radu.
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky@cominn.cz]
Pro ukazku:
procedure SetKeyState(Key: Integer; TurnOn: Boolean);
var ks: TKeyboardState;
begin
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS: // Win95/98/ME
begin
GetKeyboardState(ks);
ks[Key] := Ord(TurnOn);
SetKeyboardState(ks)
end;
VER_PLATFORM_WIN32_NT: // WinNT/2000/XP
begin
if Odd(GetKeyState(Key)) <> TurnOn then
begin
keybd_event(Key, MapVirtualkey(Key,0), KEYEVENTF_EXTENDEDKEY, 0); //
simulate key press
keybd_event(Key, MapVirtualkey(Key,0), KEYEVENTF_EXTENDEDKEY or
KEYEVENTF_KEYUP, 0); // simulate key release
end;
end
end;
end;